package com.company.oa.meeting.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.company.oa.meeting.dto.MeetingRoomDTO;
import com.company.oa.meeting.entity.MeetingRoom;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 会议室服务接口
 */
public interface MeetingRoomService extends IService<MeetingRoom> {
    /**
     * 分页查询会议室
     */
    IPage<MeetingRoom> getMeetingRoomPage(int page, int size, MeetingRoom meetingRoom);
    
    /**
     * 添加会议室
     */
    boolean addMeetingRoom(MeetingRoomDTO meetingRoomDTO);
    
    /**
     * 修改会议室
     */
    boolean updateMeetingRoom(MeetingRoomDTO meetingRoomDTO);
    
    /**
     * 删除会议室
     */
    boolean deleteMeetingRoom(Long id);
    
    /**
     * 查询可用的会议室
     */
    List<MeetingRoom> getAvailableRooms(LocalDateTime startTime, LocalDateTime endTime, Integer capacity);
    
    /**
     * 切换会议室状态
     */
    boolean toggleStatus(Long id);
} 